package kioscodeal



import grails.test.mixin.*

import org.junit.*

/**
 * See the API for {@link grails.test.mixin.domain.DomainClassUnitTestMixin} for usage instructions
 */
@TestFor(Pedido)
class PedidoTests {

    void testObtenerImporteTotal(){
		def unProducto = new Producto()
		unProducto.id = 1
		unProducto.precioUnitario = 8.50
		def otroProducto = new Producto()
		otroProducto.id = 2
		otroProducto.precioUnitario = 1.50
		def unPedido = new Pedido()
		unPedido.id = 1
		def unProdPedido = new ProductoPedido ()
		unProdPedido.id = 1
		unProdPedido.producto = unProducto
		unProdPedido.cantidad = 1
		def otroProdPedido = new ProductoPedido ()
		otroProdPedido.id = 2
		otroProdPedido.producto = otroProducto
		otroProdPedido.cantidad = 1
		unPedido.productoPedidos = new HashSet<ProductoPedido>()
		unPedido.productoPedidos.add(unProdPedido)
		unPedido.productoPedidos.add(otroProdPedido)
		assert unPedido.getImporteTotal() == 10		
	}
	
	void testObtenerProductoDePedido(){
		def unPedido = new Pedido()
		unPedido.id = 1
		def unProducto = new Producto()
		unProducto.id = 1
		def otroProducto = new Producto()
		otroProducto.id = 2
		def unProdPedido = new ProductoPedido ()
		unProdPedido.id = 1
		unProdPedido.producto = unProducto
		def otroProdPedido = new ProductoPedido ()
		otroProdPedido.id = 2
		otroProdPedido.producto = otroProducto
		unPedido.productoPedidos = new HashSet<ProductoPedido>()
		unPedido.productoPedidos.add(unProdPedido)
		unPedido.productoPedidos.add(otroProdPedido)
		assert unPedido.getProductoPedidos(unProducto).producto.id == unProducto.id
		assert unPedido.getProductoPedidos(otroProducto).producto.id == otroProducto.id
		
	}
}
